package com.just521.xinshoutong.view;

import java.util.ArrayList;
import java.util.Calendar;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.util.Log;
import android.view.Gravity;
import android.widget.Toast;

import com.just521.xinshoutong.common.CommonDefine;

public final class CRemindOperator
{
//	private static String TAG = "JustNote.RemindOperator";
//    private static CRemindOperator _INSTANCE	=	null;  
//    private CNoteDBCtrl m_clCNoteDBCtrl = null;
//    private CRemindOperator(Context context)
//    {
//    	m_clCNoteDBCtrl = CommonDefine.initNoteDBCtrl(context);
//    }  
//      
//    public synchronized static CRemindOperator getInstance(Context context)
//    {  
//    	if(_INSTANCE == null){
//    		_INSTANCE = new CRemindOperator(context);
//    	}
//        return _INSTANCE;  
//    }  
//    public int processRemind(Context context, int _id, CRemindInfo _clCRemindInfo){
//    	int ret = CommonDefine.E_FAIL;
//    	if(_clCRemindInfo==null){
//    		return ret;
//    	}
//    	if(_id==CommonDefine.g_int_Invalid_ID){
//    		ret = addRemind( context, _id, _clCRemindInfo);
//    	}else{
//    		ret = editRemind( context, _id, _clCRemindInfo);
//    	}
//    	return ret;
//    }
//    
//    private	int	addRemind( Context context, int _id, CRemindInfo _clCRemindInfo )
//    {
//    	//外面使用时需要先将该条提醒Insert到DB中，然后再调用该方法
//    	//Insert时和提醒相关的属性可以设置为无效，这里会进行Update
//    	Calendar clCalendar	=	Calendar.getInstance();
//    	
//    	if ( _clCRemindInfo.m_iRemindAble == CMemoInfo.IsRemind_Able_Yes 
//    		&& _clCRemindInfo.m_iIsRemind == CMemoInfo.IsRemind_Yes )
//    	{
//    		clCalendar.setTimeInMillis(System.currentTimeMillis());
//    	
//        	if ( /*CommonDefine.Remind_Type_CountDown == _clCRemindInfo.m_iType
//        	  ||*/ CommonDefine.Remind_Type_Once == _clCRemindInfo.m_iType )
//        	{
//        		if ( clCalendar.getTimeInMillis() > _clCRemindInfo.getOnceRemindMillis() )
//        		{
//            		Toast toast = Toast.makeText(context, "时间已过期，请重新设置!", Toast.LENGTH_SHORT);
//            		toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL, 0, 0 );
//            		toast.show();	
//            		
//            		return	CommonDefine.E_FAIL;
//        		}
//        		
//        		long			lTime           = _clCRemindInfo.getOnceRemindMillis();
//    			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//    	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//    	    	alarmManager.set(AlarmManager.RTC_WAKEUP, lTime, pendingIntent);			
//
//
//        	}
//        	else if( CommonDefine.Remind_Type_CountDown == _clCRemindInfo.m_iType )
//        	{	
//    			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//    	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//    	    	alarmManager.set(AlarmManager.RTC_WAKEUP, _clCRemindInfo.m_lTime, pendingIntent);
//        	}
//        	else if ( CommonDefine.Remind_Type_Week == _clCRemindInfo.m_iType )
//        	{   		
//    	    	long firtTime	=	_clCRemindInfo.getFirstCycelRemindTime( null );
//    			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//    	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//    	    	alarmManager.set(AlarmManager.RTC_WAKEUP, firtTime, pendingIntent);				
//        	}
//        	else if( CommonDefine.Remind_Type_Month == _clCRemindInfo.m_iType )
//        	{
//    	    	long firtTime	=	_clCRemindInfo.getFirstCycelRemindTime( null );
//    			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//    	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//    	    	alarmManager.set(AlarmManager.RTC_WAKEUP, firtTime, pendingIntent);		
//        	}
//        	else if( CommonDefine.Remind_Type_Year == _clCRemindInfo.m_iType )
//        	{
//    	    	long firtTime	=	_clCRemindInfo.getFirstCycelRemindTime( null );
//    			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//    	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//    	    	alarmManager.set(AlarmManager.RTC_WAKEUP, firtTime, pendingIntent);		
//        	}
//        	
//        	else
//        	{		
//        		//error
//        	}
//        	
//    	}
//		
//    	return	CommonDefine.S_OK;
//    }
//    
//    public	void	alarmAlert( Context context, int _id )
//    {
//    	//一个提醒的时刻到来时调用该方法，设定新的提醒
//    	//如果是循环提醒则不做处理
//    	
//    	if( null == m_clCNoteDBCtrl )
//    	{
//    		m_clCNoteDBCtrl	=	new	CNoteDBCtrl( context );
//    	}
//    	
//    	CRemindInfo		clCRemindInfo	=	new	CRemindInfo( CommonDefine.Remind_Type_Invalid );
//    	
//    	if ( CommonDefine.E_FAIL == getRemindInfo( context, _id, clCRemindInfo ) )
//    	{
//    		return;
//    	}
// 	
//	    if ( CommonDefine.Remind_Type_CountDown == clCRemindInfo.m_iType || CommonDefine.Remind_Type_Once == clCRemindInfo.m_iType )
//	    {
//	    	CMemoInfo	clCMemoInfo	=	new	CMemoInfo();
//	    	clCMemoInfo.iIsRemindAble	=	CMemoInfo.IsRemind_Able_No;
//	    	clCMemoInfo.iId = _id;
//	    	m_clCNoteDBCtrl.Update( clCMemoInfo );
//	    	AppWidgetControl.UpdateAppWidget(context);
//	    	
//	    	AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//	    	alarmManager.cancel(pendingIntent);
//	    }
//	    else if( CommonDefine.Remind_Type_Week == clCRemindInfo.m_iType )		//循环提醒
//	    {
//	    	long	lTime	=	clCRemindInfo.getFirstCycelRemindTime( null );
//	    	AppWidgetControl.UpdateAppWidget(context);
//	    	
//			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//	    	
//	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, (int)_id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//	    	alarmManager.set(AlarmManager.RTC_WAKEUP, lTime, pendingIntent);
//	    }
//	    else if (  CommonDefine.Remind_Type_Month == clCRemindInfo.m_iType  )
//	    {
//	    	long	lTime	=	clCRemindInfo.getFirstCycelRemindTime( null );
//	    	AppWidgetControl.UpdateAppWidget(context);
//	    	
//			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//	    	
//	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, (int)_id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//	    	alarmManager.set(AlarmManager.RTC_WAKEUP, lTime, pendingIntent);
//	    }
//	    else if ( CommonDefine.Remind_Type_Year == clCRemindInfo.m_iType)
//	    {
//	    	long	lTime	=	clCRemindInfo.getFirstCycelRemindTime( null );
//	    	AppWidgetControl.UpdateAppWidget(context);
//	    	
//			AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//	    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//	    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//	    	
//	    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, (int)_id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//	    	alarmManager.set(AlarmManager.RTC_WAKEUP, lTime, pendingIntent);
//	    }
//	    
//	    else
//	    {
//	    	//Error
//	    }	
//    		
//    }
//    
//    private	int	editRemind( Context context, int _id, CRemindInfo _clCRemindInfo )
//    {
//    	//对一个提醒进行编辑时调用该方法。
//    	AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//    	alarmManager.cancel(pendingIntent);
//    	
//    	return	addRemind( context, _id, _clCRemindInfo  );
//    }
//    
//   
//    public	void	disableRemind( Context context, ArrayList<ArrayListItem> needDeleteIDs )
//    {
//    	//将一条提醒设置为无效
//    	//由于提醒不能转为Memo，所以该方法对删除和设置为Disable都好用
//    	AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//    	
//    	for( int i = 0; i < needDeleteIDs.size(); ++i )
//    	{
//    		Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//    		int id = needDeleteIDs.get(i).clDBRecInfo.iId;
//    		MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, id );
//        	PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//        	alarmManager.cancel(pendingIntent);
//    	}
//
//    }
//    public	void	disableRemind( Context context, int  _id )
//    {
//    	//将一条提醒设置为无效
//    	//由于提醒不能转为Memo，所以该方法对删除和设置为Disable都好用
//    	AlarmManager	alarmManager	=	(AlarmManager)context.getSystemService( Context.ALARM_SERVICE );
//
//    	Intent 			MyIntent		=	new Intent( context, AlarmReceiver.class );
//		MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, _id );
//		PendingIntent pendingIntent		=	PendingIntent.getBroadcast( context, _id, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//		alarmManager.cancel(pendingIntent);
//
//    }
//
//    public	int	getRemindInfo( Cursor cur, CRemindInfo _clCRemindInfo )
//    { 	
//        int	index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_isremindable );
//        int isRemindable	=	cur.getInt( index );
//        _clCRemindInfo.m_iRemindAble	=	isRemindable;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_isremind );
//        int isRemind	=	cur.getInt( index );
//        _clCRemindInfo.m_iIsRemind	=	isRemind;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_remindtype );
//        int isRemindType			=	cur.getInt( index );
//        _clCRemindInfo.m_iType		=	isRemindType;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_remindtime );
//        long remindTime				=	cur.getLong(index);
//        
//        _clCRemindInfo.m_lTime	=	remindTime;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_monday );
//        int iMonday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 0 ]	=	(byte)iMonday;
//        _clCRemindInfo.m_MonthDay   =   (byte)iMonday;
//
//
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_tuesday );
//        int iTuesday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 1 ]	=	(byte)iTuesday;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_wednesday );
//        int iWednesday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 2 ]	=	(byte)iWednesday;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_thursday );
//        int iThursday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 3 ]	=	(byte)iThursday;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_friday );
//        int iFriday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 4 ]	=	(byte)iFriday;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_staturday );
//        int iStaturday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 5 ]	=	(byte)iStaturday;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_sunday );
//        int iSunday			=	cur.getInt( index );
//        _clCRemindInfo.m_Week[ 6 ]	=	(byte)iSunday;
//
//	if(( _clCRemindInfo.m_iType == CommonDefine.Remind_Type_CountDown)
//		||( _clCRemindInfo.m_iType == CommonDefine.Remind_Type_Week )
//		||( _clCRemindInfo.m_iType == CommonDefine.Remind_Type_Month ))		
//
//	{
//		_clCRemindInfo.m_bNongLi = false;    
//	}else if(( _clCRemindInfo.m_iType == CommonDefine.Remind_Type_Once )
//		||( _clCRemindInfo.m_iType == CommonDefine.Remind_Type_Year ))
//	{
//		_clCRemindInfo.m_bNongLi = (iSunday == 1 ? true:false);    
//	}else
//	{
//		_clCRemindInfo.m_bNongLi = false;   
//	}
//
//    
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_isRing );
//        int isRing			=	cur.getInt( index );
//        _clCRemindInfo.m_iIsRing	=	CMemoInfo.Ring_On;
//        
//        index		=	cur.getColumnIndex( CNoteDBCtrl.KEY_isVibrate );
//        int isVibrate			=	cur.getInt( index );
//        _clCRemindInfo.m_iIsVibrate	=	CMemoInfo.Vibrate_On;
//        
//        return	CommonDefine.S_OK;    
//    }
//    
//    public	int	getRemindInfo( Context context, int id, CRemindInfo _clCRemindInfo )
//    {
//    	if( null == m_clCNoteDBCtrl )
//    	{
//    		m_clCNoteDBCtrl	=	new	CNoteDBCtrl( context );
//    	}
//    	
//    	Cursor cur	=	m_clCNoteDBCtrl.getRemindByID(id);
//		    	//根据ID从DB中取得提醒信息
//    	if ( !cur.moveToFirst() )
//    	{
//    		return	CommonDefine.E_FAIL;
//    	}
//    	
//		int	iTemp	=	getRemindInfo( cur, _clCRemindInfo );
//    	
//		cur.close();
//		return	iTemp;
//    }
//    public boolean IsRegisterAlarmSystemSource(Context ctx){
//    	boolean bRet = false;
//    	SharedPreferences R_Sp	= ctx.getSharedPreferences(CommonDefine.ExtraData_Remind_File, Context.MODE_WORLD_READABLE);	
//    	bRet	= R_Sp.getBoolean(CommonDefine.ExtraData_Remind_RegAlarmSysSrc, false);
//    	
//    	return bRet;
//    }
//    public short registerAlarmSystemSource(Context ctx){
////    	Log.d( "justnote", "Register AlarmSystemSource" );
////    	Toast.makeText(ctx, "Register AlarmSystemSource", Toast.LENGTH_LONG).show();
//    	CNoteDBCtrl	clCNoteDBCtrl	=	CommonDefine.initNoteDBCtrl(ctx);
//		
////		SharedPreferences	sp = ctx.getSharedPreferences(CommonDefine.ExtraData_Remind_File, Context.MODE_WORLD_WRITEABLE); 
////		if( null != sp )
////		{
////	      	SharedPreferences.Editor editor = sp.edit();
////	    	editor.putInt(CommonDefine.ExtraData_Remind_Flg, CommonDefine.iWorking);
////	    	editor.commit();
////		}
//		
//		Cursor clCursor	=	clCNoteDBCtrl.getRemindInfo();	
//		if( clCursor ==null )
//		{
////			Log.e(TAG, "Get RemindInfo error");
////			Toast.makeText(ctx, "Get RemindInfo error", Toast.LENGTH_LONG).show();
//			return errorDefine.DataAccess_Read_Error;
//		}
////		Log.d( "justnote", "Get RemindInfo success" );
////		Toast.makeText(ctx, "Get RemindInfo success", Toast.LENGTH_LONG).show();
//		short sRet = errorDefine.Common_Unknown_Error;
//		do{
//			if ( !clCursor.moveToFirst() )
//			{
//				break;
//			}
//			if ( clCursor.getCount() > 0 )
//			{
//				do
//				{
//					int	iColumn	=	clCursor.getColumnIndex( CNoteDBCtrl.KEY_id );
//					if(iColumn==-1){
//						break;
//					}
//					int	iID		=	clCursor.getInt( iColumn );
//					iColumn		=	clCursor.getColumnIndex( CNoteDBCtrl.KEY_remindtype );
//					if(iColumn==-1){
//						continue;
//					}
//					int	lType		=	clCursor.getInt( iColumn );
//					if( CommonDefine.Remind_Type_CountDown == lType || CommonDefine.Remind_Type_Once == lType )		// 间隔:1,单次:3
//					{
//						int 	TimeIndex	=	clCursor.getColumnIndex( CNoteDBCtrl.KEY_remindtime );
//						if(TimeIndex==-1){
//							Log.e(TAG, "Get RemindTime error");
//							continue;
//						}
//						
//						int 	NongLiIndex	=	clCursor.getColumnIndex( CNoteDBCtrl.KEY_sunday );
//						if(NongLiIndex==-1){
//							Log.e(TAG, "Get RemindTime error");
//							continue;
//						}
//						
//						long	lDbTime		=	clCursor.getLong( TimeIndex );
//						long     NLflag		=   clCursor.getLong( NongLiIndex );
//						
//						//农历转换	
//						if(NLflag == 1 && CommonDefine.Remind_Type_Once == lType )
//						{
//							CRemindInfo	  info = new CRemindInfo(CommonDefine.Remind_Type_Once);
//							
//							info.m_bNongLi = true;
//							info.m_lTime = lDbTime;		
//							lDbTime = info.getOnceRemindMillis();
//							
//						}
//						
//						AlarmManager	alarmManager	=	(AlarmManager)ctx.getSystemService( Context.ALARM_SERVICE );
//				    	Intent 			MyIntent		=	new Intent( ctx, AlarmReceiver.class );
//				    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, iID );
//				    	
//				    	
//				    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast(ctx, iID, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT );
//				    	alarmManager.set( AlarmManager.RTC_WAKEUP, lDbTime, pendingIntent );
//				    	Log.i(TAG, "Register RemindTime success");
//					}
//					else if ( CommonDefine.Remind_Type_Week == lType )					// 循环:2
//					{
//						CRemindOperator	clCRemindOperator	=	CRemindOperator.getInstance(ctx);
//						CRemindInfo 	clCRemindInfo		=	new	CRemindInfo( CommonDefine.Remind_Type_Invalid );
//						if( CommonDefine.E_FAIL == clCRemindOperator.getRemindInfo( clCursor, clCRemindInfo ) )
//						{
//							continue;
//						}
//						
//						long	lTime	=	clCRemindInfo.getFirstCycelRemindTime( null );
//						
//						AlarmManager	alarmManager	=	(AlarmManager)ctx.getSystemService( Context.ALARM_SERVICE );
//				    	Intent 			MyIntent		=	new Intent( ctx, AlarmReceiver.class );
//				    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, iID );
//				    	
//				    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast(ctx, iID, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//				    	alarmManager.set( AlarmManager.RTC_WAKEUP, lTime, pendingIntent );	
//					}
//					else if ( CommonDefine.Remind_Type_Month == lType)
//					{
//						CRemindOperator	clCRemindOperator	=	CRemindOperator.getInstance(ctx);
//						CRemindInfo 	clCRemindInfo		=	new	CRemindInfo( CommonDefine.Remind_Type_Invalid );
//						if( CommonDefine.E_FAIL == clCRemindOperator.getRemindInfo( clCursor, clCRemindInfo ) )
//						{
//							continue;
//						}
//						
//						long	lTime	=	clCRemindInfo.getFirstCycelRemindTime( null );
//						
//						AlarmManager	alarmManager	=	(AlarmManager)ctx.getSystemService( Context.ALARM_SERVICE );
//				    	Intent 			MyIntent		=	new Intent( ctx, AlarmReceiver.class );
//				    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, iID );
//				    	
//				    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast(ctx, iID, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//				    	alarmManager.set( AlarmManager.RTC_WAKEUP, lTime, pendingIntent );							
//
//					}
//					else if ( CommonDefine.Remind_Type_Year == lType )
//					{
//						CRemindOperator	clCRemindOperator	=	CRemindOperator.getInstance(ctx);
//						CRemindInfo 	clCRemindInfo		=	new	CRemindInfo( CommonDefine.Remind_Type_Invalid );
//						if( CommonDefine.E_FAIL == clCRemindOperator.getRemindInfo( clCursor, clCRemindInfo ) )
//						{
//							continue;
//						}
//						
//						long	lTime	=	clCRemindInfo.getFirstCycelRemindTime( null );
//						
//						AlarmManager	alarmManager	=	(AlarmManager)ctx.getSystemService( Context.ALARM_SERVICE );
//				    	Intent 			MyIntent		=	new Intent( ctx, AlarmReceiver.class );
//				    	MyIntent.putExtra( CommonDefine.ExtraData_EditNoteID, iID );
//				    	
//				    	PendingIntent pendingIntent		=	PendingIntent.getBroadcast(ctx, iID, MyIntent, PendingIntent.FLAG_CANCEL_CURRENT);
//				    	alarmManager.set( AlarmManager.RTC_WAKEUP, lTime, pendingIntent );							
//					}
//						
//					
//					
//					
//				}while( clCursor.moveToNext() );
//			}
//		}while(false);
//		SharedPreferences	W_sp = ctx.getSharedPreferences(CommonDefine.ExtraData_Remind_File, Context.MODE_WORLD_WRITEABLE); 
//		if( null != W_sp )
//		{
//	      	SharedPreferences.Editor editor = W_sp.edit();
//	    	editor.putBoolean(CommonDefine.ExtraData_Remind_RegAlarmSysSrc, true);
//	    	editor.commit();
//		}
//		sRet = errorDefine.Common_Success;
//		clCursor.close();
//    	
//    	return sRet;
//    }
//	public boolean IsRemindChanged( Context context ,CMemoInfo clCMemoInfoBefore,CMemoInfo clCMemoInfoCurrent)
//	{	
//		boolean bUpdate = false;
//
//		if( clCMemoInfoBefore.iIsRemind == CMemoInfo.IsRemind_Yes)
//		{
//			if(clCMemoInfoCurrent.iIsRemind ==   CMemoInfo.IsRemind_No ){
//				bUpdate = true;
//			}
//			else {
//				
//				if(( clCMemoInfoCurrent.iIsRemindAble == clCMemoInfoBefore.iIsRemindAble  )
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_Yes))
//				{
//					if(clCMemoInfoCurrent.strDetail != null ){
//						if(!clCMemoInfoBefore.strDetail.equals(clCMemoInfoCurrent.strDetail)){
//							bUpdate = true;
//						}
//					}
//					if( clCMemoInfoCurrent .dRemindTime != -1){
//						if(clCMemoInfoBefore.dRemindTime !=clCMemoInfoCurrent.dRemindTime){
//							bUpdate = true;
//						}
//					}
//					if( clCMemoInfoCurrent .RemindType != -1){
//						if(clCMemoInfoBefore.RemindType !=clCMemoInfoCurrent.RemindType){
//							bUpdate = true;
//						}
//					}
//
//				}
//				else if(( clCMemoInfoCurrent.iIsRemindAble == clCMemoInfoBefore.iIsRemindAble  )
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_No))
//				{
//					bUpdate = false;
//
//				}
//				else if(( clCMemoInfoCurrent.iIsRemindAble == clCMemoInfoBefore.iIsRemindAble  )
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_Invalid))
//				{
//					bUpdate = false;
//
//				}
//
//				else if((clCMemoInfoBefore.iIsRemindAble == CMemoInfo.IsRemind_Able_Yes)
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_No))
//				{
//					bUpdate = true;
//
//				}
//				else if((clCMemoInfoBefore.iIsRemindAble == CMemoInfo.IsRemind_Able_Yes)
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_Invalid))
//				{
//					if(clCMemoInfoCurrent.strDetail != null ){
//						if(clCMemoInfoBefore.strDetail.equals(clCMemoInfoCurrent.strDetail)){
//							bUpdate = true;
//						}
//					}
//					if( clCMemoInfoCurrent .dRemindTime != -1){
//						if(clCMemoInfoBefore.dRemindTime !=clCMemoInfoCurrent.dRemindTime){
//							bUpdate = true;
//						}
//					}
//					if( clCMemoInfoCurrent .RemindType != -1){
//						if(clCMemoInfoBefore.RemindType !=clCMemoInfoCurrent.RemindType){
//							bUpdate = true;
//						}
//					}
//
//				}				
//				else if((clCMemoInfoBefore.iIsRemindAble == CMemoInfo.IsRemind_Able_No)
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_Yes))
//				{
//					bUpdate = true;
//				}					
//				else if((clCMemoInfoBefore.iIsRemindAble == CMemoInfo.IsRemind_Able_No)
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_Invalid))
//				{
//					bUpdate = false;
//
//				}	
//				else if((clCMemoInfoBefore.iIsRemindAble == CMemoInfo.IsRemind_Able_Invalid)
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_Yes))
//				{
//					bUpdate = true;
//
//				}	
//				else if((clCMemoInfoBefore.iIsRemindAble == CMemoInfo.IsRemind_Able_Invalid)
//					&&(clCMemoInfoCurrent.iIsRemindAble == CMemoInfo.IsRemind_Able_No))
//				{
//					bUpdate = false;
//				}
//
//			}
//
//		}
//		else{
//			if( clCMemoInfoCurrent.iIsRemind == CMemoInfo.IsRemind_Yes){
//				bUpdate = true;
//			}
//			else {
//				bUpdate = false;
//			}
//		}
//
//        return bUpdate;
//	}
}
